home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 20 / Cream of the Crop 20 (Terry Blount) (1996).iso / program / n_b_v203.zip / ARROWS.DMO < prev    next >
Text File  |  1996-07-04  |  4KB  |  66 lines

  1. $if 0
  2.     ┌──────────────────────────╖                        PowerBASIC v3.20
  3.  ┌──┤          DASoft          ╟──────────────────────┬──────────────────╖
  4.  │  ├──────────────────────────╢    Copyright 1995    │ DATE: 1995-10-01 ╟─╖
  5.  │  │ FILE NAME   ARROWS  .DMO ║          by          ╘════════════════─ ║ ║
  6.  │  │                          ║  Don Schullian, Jr.                     ║ ║
  7.  │  ╘══════════════════════════╝                                         ║ ║
  8.  │ A license is hereby granted to the holder to use this source code in  ║ ║
  9.  │ any program, commercial or otherwise,  without receiving the express  ║ ║
  10.  │ permission of the copyright holder and without paying any royalties,  ║ ║
  11.  │ as long as this code is not distributed in any compilable format.     ║ ║
  12.  │  IE: source code files, PowerBASIC Unit files, and printed listings   ║ ║
  13.  ╘═╤═════════════════════════════════════════════════════════════════════╝ ║
  14.    │                ....................................                   ║
  15.    ╘═══════════════════════════════════════════════════════════════════════╝
  16.  
  17.  In graphics mode arrows get pretty important so here is the routine to put
  18.  all those little darts on the screen. They can be put in any one of eight
  19.  sizes and can be loners or in groups. As arrows seem to live in boxes and
  20.  buttons this routine will center your arrow(s) inside the box you've given
  21.  them to live in.
  22.  There are 8 arrows and each has it's number:
  23.     1 = up        5 = up/left
  24.     2 = down      6 = up/right
  25.     3 = left      7 = down/right
  26.     4 = right     8 = down/left
  27.  
  28.   There is also an ArrowsA routine if you're using Event Arrays
  29. $endif
  30.  
  31. '.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°
  32. ' ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° °
  33.                                                '┌────────────────────────────
  34. $INCLUDE "DAS-NB01.INC"                        '│
  35. $INCLUDE "DAS-NBV1.INC"                        '│
  36. $INCLUDE "DAS-NBV2.INC"                        '│
  37.                                                '│
  38. CLS                                            '│ set-up the VGA screen
  39. SCREEN 12                                      '│
  40. GraphicSETUP                                   '│
  41. fLoadDAScolor                                  '│ load 3D colors
  42.                                                '│
  43. DIM UDLR?(8)                                   '│ our arrow numbers
  44. FOR X% = 1 TO 8                                '│
  45.   READ UDLR?(X%)                               '│
  46. NEXT                                           '│
  47. DATA 5, 3, 8, 1, 2, 6, 4, 7                    '│
  48.                                                '│
  49. FOR X1% = 0 TO 64 STEP 32                      '│ draw 9 boxes in a 3x3 grid
  50.   X2% = ( X1% + 32 )                           '│
  51.   FOR Y1% = 0 TO 64 STEP 32                    '│
  52.     Y2% = ( Y1% + 32 )                         '│
  53.     GBoxBEVEL X1%, Y1%, X2%, Y2%, 4, 4, 9, 14  '│ draw the box
  54.     IF (X1% = 32) AND (Y1% = 32) THEN ITERATE  '│ (center box - no arrow)
  55.     INCR D?, 1                                 '│ next arrow number
  56.     Arrows X1%,Y1%,X2%,Y2%,15,UDLR?(D?),2,1    '│ draw a 2x black arrow
  57.   NEXT                                         '│
  58. NEXT                                           '│
  59.                                                '│
  60. GBoxBEVEL 0, 96, 96, 120, 4, 3, 8, 13          '│ the blue box on the bottom
  61. Arrows    0, 96, 96, 120, 0, 2, 1,  4          '│ 4 little white down arrows
  62.                                                '│
  63. fAnyKey : PALETTE : SCREEN 0 : END             '│ a clean exit
  64.                                                '└────────────────────────────
  65.  
  66.